#pragma once
#include <memory>
using namespace std;

template<class T>
class Singleton
{
public:
	static inline T* instance();
private:
	Singleton(void){}
	~Singleton(void){}
	Singleton(const Singleton&){}
    Singleton & operator= (const Singleton &){}

	 static auto_ptr<T> _instance;
};

